package at.fhj.itm10.ticketmaster.models;

import java.util.Date;

/**
 * customer model
 * 
 * @author stefan leisenberger
 */


public class Customer implements Model {
 
	private long id;
	private String userName;
	private String password;
	private String firstName;
	private String lastName;
	private boolean male;
	private String title;
	private String eMail;
	private Date birthDate;
	private Date registerDate;
	private boolean newsletter;
	private boolean organizer;
	private boolean activated;

	private String activationKey;
	private long fkAddressId;
	
	public Customer(String userName, String password, String firstName, String lastName, boolean male, String title,
			String eMail, Date birthDate, Date registerDate, boolean newsletter, boolean organizer, long fkAdressId) {
		this.setUserName(userName);
		this.setPassword(password);
		this.setFirstName(firstName);
		this.setLastName(lastName);
		this.setMale(male);
		this.setTitle(title);
		this.seteMail(eMail);
		this.setBirthDate(birthDate);
		this.setRegisterDate(registerDate);
		this.setNewsletter(newsletter);
		this.setOrganizer(organizer);
		this.setFkAddressId(fkAdressId);
	}
	
	public Customer() {
		// empty constructor
	}
	
	// getter and setter
	public String getUserName() {
		return userName;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
	public String getFirstName() {
		return firstName;
	}
	public void setFirstName(String firstName) {
		this.firstName = firstName;
	}
	public String getLastName() {
		return lastName;
	}
	public void setLastName(String lastName) {
		this.lastName = lastName;
	}
	public boolean isMale() {
		return male;
	}
	public void setMale(boolean gender) {
		this.male = gender;
	}
	public String getTitle() {
		return title;
	}
	public void setTitle(String title) {
		this.title = title;
	}
	public String geteMail() {
		return eMail;
	}
	public void seteMail(String eMail) {
		this.eMail = eMail;
	}
	public Date getBirthDate() {
		return birthDate;
	}
	public void setBirthDate(Date birthDate) {
		this.birthDate = birthDate;
	}
	public Date getRegisterDate() {
		return registerDate;
	}
	public void setRegisterDate(Date registerDate) {
		this.registerDate = registerDate;
	}
	public boolean isNewsletter() {
		return newsletter;
	}
	public void setNewsletter(boolean newsletter) {
		this.newsletter = newsletter;
	}
	public boolean isOrganizer() {
		return organizer;
	}
	public void setOrganizer(boolean organizer) {
		this.organizer= organizer;
	}
	public long getId() {
		return id;
	}
	public void setId(long id) {
		this.id = id;
	}
	public long getFkAddressId() {
		return fkAddressId;
	}
	public void setFkAddressId(long fkAddressId) {
		this.fkAddressId = fkAddressId;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	
	public boolean isActivated() {
		return activated;
	}

	public void setActivated(boolean activated) {
		this.activated = activated;
	}

	public String getActivationKey() {
		return activationKey;
	}

	public void setActivationKey(String activationKey) {
		this.activationKey = activationKey;
	}
	
	public String toString() {
		return "[customer=" + id + "]";
	}
}